home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 50
/
Aminet 50 (2002)(GTI - Schatztruhe)[!][Aug 2002].iso
/
Aminet
/
text
/
edit
/
tecoc-146.lha
/
tecoc.rnh
< prev
next >
Wrap
Text File
|
1991-07-05
|
64KB
|
2,145 lines
.! To create a help file for TECO, do the following
.!
.! $ runoff tecoc.rnh
.! $ library/create/help tecoc tecoc
.! $ delete tecoc.hlp;*
.!
.! A part of this file relating to macros can be conditionally runoff'd
.! using the following command:
.!
.! $ runoff/variant=MACROS tecoc.rnh
.!
.NO PAGING
.NO FLAGS ALL
.LEFT MARGIN 1
.RIGHT MARGIN 70
.INDENT -1
1 Arithmetic
.INDENT 5
TECOC supports integer arithmetic. Expressions can be constructed
using numbers, operators, variables (q-registers) and values
maintained by TECO. Expressions are used to supply numeric values to
TECO commands. The = command simply displays the value of it's
numeric argument. Using it gives the TECO user a simple integer
calculator. Radix control is provided to allow the user to input and
output constants in octal, decimal or hexadecimal.
Expressions are evaluated left to right unless parentheses are used to
alter the order of execution. Parentheses may be nested. If
parentheses are used, the expression within innermost parentheses is
evaluated first, left to right. There is no operator precedence.
.INDENT -1
2 Examples
.LITERAL
256*4=$$ will display 1024 on the screen
10*(4+3)ua$$ will put 70 into q-register a
qa=$$ will display the value stored in q-register a
qa*20=$$ will display the value of q-register a, times 20
z=$$ will display the number of characters in the edit buffer
0a==$$ will display the ASCII value of the character following
the character pointer, in octal
.END LITERAL
.INDENT -1
2 Operators
.INDENT 5
The following operators are recognized by TECO in expressions
.SKIP
.LITERAL
OPERATOR EXAMPLE FUNCTION
+ +2=2 Unary plus, not meaningful, but legal
+ 2+2=4 Addition
- -2=-2 Unary minus, negation
- 8-6=2 Subtraction
* 2*3=6 Multiplication
/ 8/3=2 Division with truncated result
& 12&10=8 Logical AND
# 12#10=14 Logical OR
^_ 5^_=-6 Logical complement
.END LITERAL
.INDENT -1
2 Q-registers
.INDENT 5
Q-registers provide TECO with variables. Each q-register can contain
text and a numeric value. See "Q-REGISTERS" for more help.
.INDENT -1
2 Radix_control
.INDENT 5
TECO allows the user to operate in octal, decimal or hexadecimal. A
current radix is maintained by TECO. Decimal is the default radix.
Numbers in command strings are interpreted according to the current
radix. The following commands alter the current radix.
.SKIP
.LITERAL
^D change the current radix to decimal
^O change the current radix to octal
^R return the value of the current radix
n^R set the radix. n must be 8, 10 or 16
.END LITERAL
.INDENT -1
2 Special_values
.INDENT 5
The following commands return some kind of value. Help is available
on these commands individually.
.SKIP
.LITERAL
nA next character ^F console switches
B 0 n^F terminal number
ED edit level flag ^H current time of day
EH help level flag ^N end-of-file flag
EO TECO version number ^R current radix
ES search verify flag ^S neg. size of last insert
ET type-out flag ^T next typed char
EU case flag ^X search mode flag
EV edit verify flag ^Y m,n of last insert
Mq macro return value ^Z q-register memory used
Qq value in q ^^x ASCII value of x
Z number chars in buffer :Qq number chars in q
^B current date \ digit string in buffer
^E form feed flag . position in buffer
.END LITERAL
.INDENT -1
2 Type-out
.INDENT 5
Type-out of the value of an expression is provided through the =
command. See "COMMANDS =" for help about the = command.
.INDENT -1
1 Branching
.INDENT 5
TECO provides conditional and unconditional branching in
command strings. This capability provides much of the real power
of the TECO language. The following commands branch within a TECO
command string:
.SKIP
.LITERAL
n"x if-then < begin loop
| else > end loop
' end if F< goto same-level <
$$ exit macro F> goto same-level >
n$$ exit macro F| goto same-level |
m,n$$ exit macro F' goto same-level '
; leave loop O goto tag
n; leave loop nO computed goto
:; leave loop ^C stop now, give prompt
n:; leave loop
.END LITERAL
.INDENT -1
1 Commands
.INDENT 5
Almost all TECO commands are terminated with two escape
characters.
.INDENT -1
2 ^A
.INDENT 5
The ^A command displays a string on the terminal. Text between
two ^A's is displayed. The ^A command can be @-sign modified.
.SKIP
Examples:
.SKIP
.LITERAL
^APrompt^A$$ would display Prompt on the terminal screen
@^A:hello:$$ would display hello on the terminal screen
.END LITERAL
.INDENT -1
2 ^B
.INDENT 5
The ^B command returns the current date via the following equations:
.SKIP
.LITERAL
OS/8: ^B = (((month*32)+day)*8)+((year-1970)&7)+k
where k = 4096 if year>1977
and k=0 otherwise
RT-11: ^B = (((month*32)+day)*32)+year-1972
RSTS/E: ^B = ((year-1970)*1000)+day within year
RSX-11: ^B = ((year-1900)*16+month)*32+day
VAX/VMS: ^B = ((year-1900)*16+month)*32+day
TOPS-10: ^B = (((year-1964)*12+month-1)*31+day-1)
.END LITERAL
.INDENT -1
2 ^C
.INDENT 5
The ^C command stops execution of TECO. It interrupts TECO and
returns control to the user. This command is usually used to stop
TECO when it is erroneously placed into an infinite loop. If this
command is entered while a search is in progress, the character
pointer's position is not well defined.
.INDENT -1
2 ^D
.INDENT 5
The ^D command sets the radix to decimal. This command is equivalent
to a 10^R command, when the current radix is 10. See the documentation
of the ^R command for a description of the radix.
.INDENT -1
2 ^E
.INDENT 5
The ^E flag is the form feed flag. It is equivalent to -1 if the last
page which was input was terminated by a form feed. If the last page
read was not terminated by a form feed (if it was the last page in the
file or if the edit buffer filled up before the entire page was read)
then ^E is equivalent to 0.
The ^E flag is tested by the P command to determine whether a form
feed should be appended to the edit buffer when it is output.
.SKIP
^E is also the prefix character for match control characters
used within search strings. For help on match control characters, the
help key is "SEARCHING MATCH_CONTROL_CHARACTERS".
.INDENT -1
2 ^G^G
.INDENT 5
The ^G^G immediate command is actually an aid to type-in of command
strings. When you type ^G^G, the command string is cleared and you
are given another prompt. When you type in a command string that has
a mistake in it, and you notice the mistake before you strike the
ESCAPE-ESCAPE sequence that starts execution of the command string,
this aid can be used to clear the string so that you can re-type it.
This aid works a little differently than the ^U and ^X aids. They
clear only the current line of the command string, not the whole
command string.
.INDENT -1
2 ^G<SPACE>
.INDENT 5
The ^G<SPACE> immediate command is actually an aid to type-in of
command strings. When you type ^G and then a space, the current line
of the command string is displayed. This is useful when you are on a
terminal that doesn't erase characters when the DELETE key is used.
On such a terminal, typing in a command string and using DELETE to fix
it can leave the command string in an unreadable state on the
terminal. In such a case, ^G<SPACE> will redisplay the current line
of the command string.
.INDENT -1
2 ^G*
.INDENT 5
The ^G* immediate command is actually an aid to type-in of command
strings. When you type ^G and then an asterisk, the entire current
command string is displayed. This is useful when you are on a
terminal that doesn't erase characters when the DELETE key is used.
On such a terminal, typing in a command string and using DELETE to
fix it can leave the command string in an unreadable state on the
terminal. In such a case, ^G* will redisplay the current command
string.
.INDENT -1
2 ^H
.INDENT 5
The ^H (or BACKSPACE) command has two different functions.
.SKIP
.INDENT 5
When used as a normal command in a command string,
the ^H command returns the time of day via the following equations:
.SKIP
.LITERAL
OS/8: ^H = 0
RT-11: ^H = (seconds since midnight)/2
RSTS/E: ^H = minutes until midnight
RSX-11: ^H = (seconds since midnight)/2
VAX/VMS: ^H = (seconds since midnight)/2
TOPS-10: ^H = 60ths of a second since midnight or 50ths of
a second where 50 Hz power is used
.END LITERAL
.SKIP
.INDENT 5
When used as an immediate-mode command (the first character typed
after a TECO prompt) a BACKSPACE will cause TECO to immediately move
to the front of the previous line and type the line (like a -1L1T).
The BACKSPACE immediate mode command together with the LINE-FEED
immediate mode command (which is like a 1L1T) provides a convenient
way to step from line to line within the edit buffer.
.INDENT -1
2 ^I
.INDENT 5
The ^I (or TAB) command is the same as the I command, except that the
tab character is inserted along with the tab character. This command
is a useful alternative to the I command when a FORTRAN or assembly
language program is being edited.
.INDENT -1
2 ^J
.INDENT 5
The ^J (or LINE-FEED) command has two different functions.
.SKIP
.INDENT 5
When used as a normal command in a command string, the LINE-FEED
character has no effect. It is meant to be used together with the
RETURN and SPACE commands to provide the TECO programmer with a way to
indent and format TECO programs and macros.
.SKIP
.INDENT 5
When used as an immediate-mode command (the first character typed
after a TECO prompt) a LINE-FEED will cause TECO to immediately move
to the front of the next line and type the line (like a 1L1T). The
LINE-FEED immediate mode command together with the BACKSPACE immediate
mode command (which is like a -1L1T) provides a convenient way to step
from line to line within the edit buffer.
.INDENT -1
2 ^L
.INDENT 5
The ^L (or FORM-FEED) command performs no function in TECO. It echoes
as a form feed and can be used to format command strings used in
macros.
.PARAGRAPH
Form feed are what split pages in files. When TECO reads in a page
from an input file, a form feed defines the end of the page. Form
feeds can be inserted into files like other characters. When inserted,
they reside in the edit buffer. When the file is output and TECO is
used to edit the file later, the inserted form feeds terminate pages.
.INDENT -1
2 ^M
.INDENT 5
The ^M (or RETURN) command performs no function in TECO. It can be
used to format command strings in macros.
.INDENT -1
2 ^O
.INDENT 5
The ^O command sets the radix to octal. This command is equivalent to
a 8^R command, when the current radix is 10. See the documentation of
the ^R command for a description of the radix.
When a control-O or caret-O is encountered in a command string, it has
the above meaning. When a control-O is typed by the user, control-O
turns output to the terminal on or off. TECO still generates
characters, it simply throws them away instead actually displaying
them. When a command is executed which results in a lot of useless
output to a slow terminal, control-O can be used to speed things up
where control-C would stop execution.
.INDENT -1
2 ^Q
.INDENT 5
The ^Q command converts line positions in the edit buffer into the
corresponding character positions. The n^Q command returns the number
of characters between the buffer position and the nth line terminator.
The numeric argument can be positive or negative. For example, n^QC
is equivalent to nL.
.PARAGRAPH
Within string arguments, ^Q indicates that the next character is to be
used literally. For instance, Sttt^Q^Es$$ will search for ttt^Es
rather than ttt followed by a sequence of spaces and/or tabs.
.PARAGRAPH
The ^Q and ^S characters also control terminal i/o. The ^S character
will "freeze" output to the terminal and ^Q will allow output to
resume. This feature allows the user to temporarily stop output to
the screen so that text can be read before it scrolls off the top of
the screen.
.INDENT -1
2 ^R
.INDENT 5
The ^R command sets or returns the value of TECO's radix. To set the
radix, use n^R, where n is a number between 2 and 36, inclusive. If
^R is used without a numeric argument, the current radix is returned.
The value of the radix affects the execution of the =, :=, ==, :==,
===, :=== and \ commands. It also affects the meaning of digit
strings within command strings.
If the radix is set to a value above 10, parsing of command strings
is affected. Upper and lowercase letters become valid as "digits" in
constants. The meaning of commands strings can become very confusing,
as letters intended to be commands are absorbed as part of constants.
It is recommended that bases higher than 10 be used only temporarily.
If an attempt is made to set the radix to a number that is out of
range, the IRA error message is produced.
When TECO is started, the radix has a value if 10.
.INDENT -1
2 ^S
.INDENT 5
The ^S command returns the length of the last string found or inserted,
multiplied by -1. It is intended to be used in conjunction with
other commands to manipulate the last string inserted or found.
For instance,
.SKIP
.LITERAL
Sabc$^SD$$ find and delete abc
Sabc$^SC$$ find abc and move to the front of it
GM$^SD$$ insert q-register M, then change your mind
.END LITERAL
.SKIP
.PARAGRAPH
The ^Q and ^S characters also control terminal i/o. The ^S character
will "freeze" output to the terminal and ^Q will allow output to
resume. This feature allows the user to temporarily stop output to
the screen so that text can be read before it scrolls off the top of
the screen.
.INDENT -1
2 ^T
.INDENT 5
The ^T command...
.INDENT -1
2 ^U
.INDENT 5
The ^U command...
.INDENT -1
2 ^V
.INDENT 5
The ^V command...
.INDENT -1
2 ^W
.INDENT 5
The ^W command...
.INDENT -1
2 ^X
.INDENT 5
The ^X command...
.INDENT 5
The search flag. Additional help about
how to manipulate flags can be found under the
FLAGS keyword.
This flag controls the significance of case in searches.
If this flag is 0, then case is insignificant in search
commands, and the command stext$$ would find "Text", "text"
or "TEXT" in the edit buffer. If this flag is -1, then
search commands are sensitive to case, and the command
stext$$ would only find "text" in the edit buffer.
.INDENT -1
2 ^Y
.INDENT 5
The ^Y command...
.INDENT -1
2 ^Z
.INDENT 5
The ^Z command...
.INDENT -1
2 ^^X
.INDENT 5
The ^^X command...
.INDENT -1
2 !
.INDENT 5
In TECO, a tag is a string of characters enclosed in ! characters.
A tag can be used as the destination of a branch (via the O command).
When TECO is executing sequentially and encounters a tag, the tag is
simply ignored. Tags also provide TECO's comment capability.
.INDENT -1
2 "
.INDENT 5
The " command provides TECO's conditional branching capability,
or "if-then-else" construct. The two general forms of the " command
are
.SKIP
.LITERAL
n"x<BODY>' like "if x(n) then <BODY>"
n"x<BODY1>|<BODY2>' like "if x(n) then <BODY1> else <BODY2>"
.END LITERAL
.SKIP
Where n is an expression and x is a conditional character. The
conditional characters determine how the value of the expression
is tested.
Conditionals may be nested.
.INDENT -1
3 "<
.INDENT 5
Execute the following command string if the preceding expression is
less than zero. Equivalent to "L, "S or "T.
.INDENT -1
3 "=
.INDENT 5
Execute the following command string if the preceding expression is
equal to zero. Equivalent to "E, "F or "U.
.INDENT -1
3 ">
.INDENT 5
Execute the following command string if the preceding expression is
greater than zero. Equivalent to "G.
.INDENT -1
3 "A
.INDENT 5
Execute the following command string if the preceding expression
evaluates to a value that is the ASCII code for an alphabetic
character. Alphabetic characters are all upper
case and lower case letters from A to Z.
.INDENT -1
3 "C
.INDENT 5
Execute the following command string if the preceding expression evaluates to the ASCII code for a symbol constituent.
Symbol constituents are upper and lower case letters from A to Z,
digits, or periods and dollar signs.
.INDENT -1
3 "D
.INDENT 5
Execute the following command string if the preceding
expression evaluates to the ASCII code for a digit. Digits
are 0 through 9.
.INDENT -1
3 "E
.INDENT 5
Execute the following command string if the preceding
expression is
equal to zero. Equivalent to "=, "F or "U.
.INDENT -1
3 "F
.INDENT 5
Execute the following command string if the preceding expression is
FALSE. FALSE in TECO is 0. Equivalent to "=, "E or "U.
.INDENT -1
3 "G
.INDENT 5
Execute the following command string if the preceding expression is
greater than zero. Equivalent to ">.
.INDENT -1
3 "L
.INDENT 5
Execute the following command string if the preceding expression is
less than zero. Equivalent to "<, "S or "T.
.INDENT -1
3 "N
.INDENT 5
Execute the following command string if the preceding expression is
not equal to zero.
.INDENT -1
3 "R
.INDENT 5
Execute the following command string if the preceding expression
evaluates to the ASCII code for an alphanumeric character.
Alphanumeric characters are digits and the upper
and lower case characters from A to Z.
.INDENT -1
3 "S
.INDENT 5
Execute the following command string if the preceding expression is
SUCCESSFUL. SUCCESSFUL in TECO is a value less than 0. Equivalent
to "<, "L or "T.
.INDENT -1
3 "T
.INDENT 5
Execute the following command string if the preceding expression is
TRUE. TRUE in TECO is a value less than 0.
Equivalent to "<, "L or "S.
.INDENT -1
3 "U
.INDENT 5
Execute the following command string if the preceding expression was
UNSUCCESSFUL. UNSUCCESSFUL in TECO is 0. Equivalent to "=, "E or "F.
.INDENT -1
3 "V
.INDENT 5
Execute the following command string if the preceding expression
evaluates to the ASCII code for a lower case letter from a to z.
.INDENT -1
3 "W
.INDENT 5
Execute the following command string if the preceding expression
evaluates to the ASCII code for a upper case letter from A to Z.
.INDENT -1
2 %q
.INDENT 5
The %q command...
.INDENT -1
2 '
.INDENT 5
The ' command...
.INDENT -1
2 *q
.INDENT 5
The *q immediate command...
.INDENT -1
2 .
.INDENT 5
The . command...
.INDENT -1
2 ;
.INDENT 5
The ; command...
.INDENT -1
2 <
.INDENT 5
the < command...
.INDENT -1
2 >
.INDENT 5
The > command...
.INDENT -1
2 =
.INDENT 5
The = command...
.INDENT -1
2 :=
.INDENT 5
The := command...
.INDENT -1
2 ?
.INDENT 5
The ? command...
.INDENT -1
2 @
.INDENT 5
The @ command...
.INDENT -1
2 A
.INDENT 5
The A command is used to append the next page of text
from the input file to the end of the current editing
buffer. The command is of the form:
.SKIP
.LITERAL
A Read the next page of text from the input file
and append it to the end of the current text
buffer
.END LITERAL
.INDENT -1
2 B
.INDENT 5
The B command...
.INDENT -1
2 BACKSPACE
.INDENT 5
The ^H (or BACKSPACE) command has two different functions. When used
as an immediate mode command (the first character typed after a TECO
prompt) it causes a -1L1T command string to be executed. Together with
the LINE-FEED immediate mode command, this provides a convenient way
to move through a file.
When used as a normal command in a command string,
the ^H command returns the time of day via the following equations:
.SKIP
.LITERAL
OS/8: ^H = 0
RT-11: ^H = (seconds since midnight)/2
RSTS/E: ^H = minutes until midnight
RSX-11: ^H = (seconds since midnight)/2
VAX/VMS: ^H = (seconds since midnight)/2
TOPS-10: ^H = 60ths of a second since midnight or 50ths of
a second where 50 Hz power is used
.END LITERAL
.INDENT -1
2 C
.INDENT 5
The C command is used to move the pointer past a
specified number of characters. Common forms of the
"C" command are:
.SKIP
.LITERAL
C Advance the pointer to the next character
3C Move forward by three characters
-1C Move back to the previous character
.END LITERAL
.INDENT -1
2 D
.INDENT 5
The D command is used to delete characters from the
editing buffer. Common forms of the command are:
.SKIP
.LITERAL
D Delete the character which follows the pointer
5D Delete the next five characters, starting
with the character following the pointer
-1D Delete the character which immediately precedes
the pointer
.END LITERAL
.INDENT -1
2 E%
.INDENT 5
The E% command...
.INDENT -1
2 E_
.INDENT 5
The E_ command...
.INDENT -1
2 EA
.INDENT 5
The EA command...
.INDENT -1
2 EB
.INDENT 5
The EB command...
.INDENT -1
2 EC
.INDENT 5
The EC command...
.INDENT -1
2 ED
.INDENT 5
The edit level flag. Additional help about
how to manipulate flags can be found under the
FLAGS keyword. Bits within this flag have the following
meanings:
.SKIP
.LITERAL
1 Allow caret (^) in search strings
2 Allow Y and _ commands to destroy edit buffer
4 Don't arbitrarily expand memory
16 preserve dot on failing searches
64 only move dot by one on multiple occurrence searches
.END LITERAL
.INDENT -1
3 1
.INDENT 5
Allow caret (^) characters in search strings. If this bit is 1,
then the caret character is a normal character in search strings. If
this bit is 0, then the caret character causes the immediately
following character in the search string to become a control character.
It is useful to turn this bit off when you are editing a file with
many control characters.
.INDENT -1
3 2
.INDENT 5
Allow Y and _ commands, even if there is text in the edit buffer.
If this bit is 1, the Y and _ commands will work, even if the edit
buffer contains text. If this bit is 0, then the Y and _ commands
will cause an error when the edit buffer contains text. Note that
this flag operates sensibly: it only aborts Y commands if
an output file is defined.
This flag is useful because it is very easy to execute a Y
command by mistake and irrevocably lose the contents of the edit
buffer.
.INDENT -1
3 4
.INDENT 5
Do not arbitrarily expand memory. If this bit is set, TECO
will expand memory in order to execute the A command. It will not
expand memory in order to execute the Y, P or N commands. If this
bit is clear, TECO will expand the edit buffer in order to fit
entire pages into the edit buffer when the user execute an A, N, P
or Y command.
.INDENT -1
3 16
.INDENT 5
Preserve dot on failing searches. If this bit is 1, then
when a search fails, the character pointer is left pointing to
the same place it was pointing before the search was attempted.
If this bit is 0, then when a search fails, the character pointer
is left pointing to the beginning of the edit buffer.
.INDENT -1
3 64
.INDENT 5
Move the character pointer by one on multiple occurrence searches.
This bit affects the way TECO handles the character pointer while
executing a command like 5Stext$$. If this bit is 1, then the
character pointer is incremented each time the text string is found.
If this bit is 0, then the character pointer is moved to the end of
the found text string each time the text string is found.
For example, suppose the text buffer contains 20 A's, the
character pointer is currently pointing to the beginning of the edit
buffer, and the bit is 1. The command 5SAA$$ will complete leaving
the character pointer between the 6th and 7th characters (.=$$ gives 6).
Under the same conditions, with the bit set to 0, the same command
will complete leaving the character pointer between the 10th and 11th
characters (.=$$ gives 10).
.INDENT -1
2 EF
.INDENT -1
2 EG
.INDENT -1
2 EH
.INDENT 5
The help flag. Additional help about
how to manipulate flags can be found under the
FLAGS keyword. Bits within this flag have the following
meanings:
.SKIP
.LITERAL
3 how much error message to display
4 display failing command string after errors
.END LITERAL
.INDENT -1
3 3
.INDENT 5
The two low bits of the EH flag control how much information
is displayed when an error occurs. The bits can have the following
values:
.SKIP
.LITERAL
00 same as 10
01 display only the 3-letter error code
10 display 3-letter error code and one-line error message
11 display 3-letter error code, one-line error message and
a paragraph describing the error in detail.
.END LITERAL
.INDENT -1
3 4
.INDENT 5
Output failing command string when an error occurs. If this bit
is 1, then the commands string that caused the error is displayed up
to and including the command that caused the error. This is just like
typing the immediate mode question-mark command after every error. If
this bit is 0, then the failing command string is not typed.
.INDENT -1
2 EI
.INDENT 5
The EI command...
.INDENT -1
2 EJ
.INDENT 5
The EJ command...
.INDENT -1
2 EK
.INDENT 5
The EK command...
.INDENT -1
2 EL
.INDENT 5
The EL command...
.INDENT -1
2 EM
.INDENT 5
The EM command...
.INDENT -1
2 EN
.INDENT 5
The EN command...
.INDENT -1
2 EP
.INDENT 5
The EP command...
.INDENT -1
2 EQ
.INDENT 5
The EQ command...
.INDENT -1
2 ER
.INDENT 5
The ER command...
.INDENT -1
2 ES
.INDENT 5
The ES flag controls what is displayed on the
terminal after every successful search command completes. By
default, nothing is displayed (ES is 0). ES has the following
meanings:
.SKIP
.LITERAL
0 don't display anything
-1 display the line containing the found string
1-31 display the line containing the found string,
with a line feed at the character position
32-126 display the line containing the found string,
with the character whose ASCII code is represented
by ES at the character position
m*265+n n has the meanings defined above. m is the number
of lines above and below the found string to be
displayed.
.END LITERAL
.INDENT -1
2 ESCAPE
.INDENT 5
The ESCAPE command...
.INDENT -1
2 ET
.INDENT 5
The type-out flag. Additional help about
how to manipulate flags can be found under the
FLAGS keyword. Bits within this flag have the following
meanings:
.SKIP
.LITERAL
1 inhibit conversions during type-out
2 process DELETE and ^U in scope mode
4 don't convert user's input to upper case
8 read without echo on ^T commands
16 cancel ^O on type-out
32 read with no wait on ^T commands
128 mung mode
256 truncate to terminal width
512 terminal is a CRT
1024 terminal is a refresh scope
32768 trap ^C
.END LITERAL
.INDENT -1
3 1
.INDENT 5
Type out in image mode. If this bit is 1, no conversions
are performed when text is typed out. If this bit is 0, TECO
automatically converts non-displayable character into a displayable
form before displaying them on the terminal. For instance, the
control-A character is converted to ^A and the ESCAPE character is
converted to a dollar sign.
.INDENT -1
3 2
.INDENT 5
Process DELETE and ^U in scope mode. If this bit is set,
the DELETE and ^U commands will cause characters being deleted
to disappear from the terminal screen. If this bit is 0, then
deleted characters are simply echoed to the terminal screen
and ^U simply advances to the next line.
.INDENT -1
3 4
.INDENT 5
Read lower case. If this bit is 1, TECO will not convert
lowercase characters to uppercase on input. If this bit is 0,
TECO will convert lowercase characters typed by the user into
uppercase.
.INDENT -1
3 8
.INDENT 5
Read without echo for ^T. If this bit is 1, ^T commands
will not echo. If this bit is 0, ^T commands will echo. This
bit allows the user to explicitly echo input characters as
he/she sees fit.
.INDENT -1
3 16
.INDENT 5
Cancel ^O on type-out. If this bit is 1, TECO will
cancel any outstanding control-O command before doing its
output, then automatically clear the bit. If this bit is 0,
TECO will output normally, subject to ^O control.
.INDENT -1
3 32
.INDENT 5
Read with no wait. If this bit is 1, ^T commands will
return immediately, regardless of whether there is a character
in the type-ahead buffer or not. If this bit is 1 and a ^T
command is executed and the type-ahead buffer is empty, the
^T will return a -1. If this bit is 0 and a ^T command is
executed and the type-ahead buffer is empty, TECO will wait
for the user to type a character.
.INDENT -1
3 128
.INDENT 5
Mung mode bit. If this bit is 1, TECO executes as if it
is executing a TECO program instead of interactively. If this
bit is 1, then
.SKIP
.LITERAL
1. all informational message are suppressed
2. ^C causes the immediate termination of TECO
3. errors cause TECO to terminate
.END LITERAL
If this bit is 0, then
.LITERAL
1. informational messages are displayed
2. ^C returns the user to a TECO prompt
3. errors return the user to a TECO prompt
.END LITERAL
.INDENT -1
3 256
.INDENT 5
Truncate lines to terminal width. If this bit is 1,
TECO will truncate output lines to fit on lines of the terminal.
If this bit is 0, what happens to lines that are too long is
determined by the terminal and/or terminal driver.
.INDENT -1
3 512
.INDENT 5
The terminal is a scope. If this bit is 1, the W command
is defined for CRT's (VT52, VT100, etc.). If this bit is 0,
the W command is not defined for CRT's.
.INDENT -1
3 1024
.INDENT 5
The terminal is a refresh scope. If this bit is 1, then
the W command is defined for refresh terminals. If this bit is
a 0, then the terminal is not a refresh scope, and the
W command is not defined for refresh scopes.
.INDENT -1
3 32768
.INDENT 5
Trap ^C. If this bit is 1 and a ^C is typed, the bit is
set to 0 and execution of the current command string continues.
This allows TECO macros to detect ^C's. If this bit is 0 and
a ^C is typed, the user is returned to the TECO prompt.
.INDENT -1
2 EU
.INDENT 5
The case flag. Additional help about how to
manipulate flags can be found under the FLAGS
keyword.
This flag allows TECO to be used to input and output upper
and lower case characters even if the terminal being used is
capable of displaying only uppercase characters.
If the EU flag is 1, no case flagging is performed on
type-out. If the EU flag is 0, lowercase characters are
converted to uppercase on type-out, and are preceded by
a ' character. If the EU flag is 1, then lowercase
character are converted to uppercase on type-out, but
uppercase characters are preceded by a ' character.
.INDENT 5
The default value for this flag is -1.
If TECO can tell (by asking the operating system) that your terminal
cannot support lowercase output, then it will set this flag to 0.
.INDENT -1
2 EV
.INDENT 5
The EV flag controls what is displayed on the
terminal after every successful command string completes. By
default, nothing is displayed (EV is 0). EV has the following
meanings:
.SKIP
.LITERAL
0 don't display anything
-1 display the line containing the character position
1-31 display the line containing the character position,
with a line feed at the character position
32-126 display the line containing the character position,
with the character whose ASCII code is represented
by ES at the character position
m*265+n n has the meanings defined above. m is the number
of lines above and below the character position to be
displayed.
.END LITERAL
.INDENT -1
2 EW
.INDENT -1
2 EX
.INDENT 5
The "EX" command is used to write the current buffer to
the output file, copy the remainder of the input file to
the output file, and exit from TECO. For example,
.SKIP
.LITERAL
EX$$
.END LITERAL
.SKIP
(Note that the <ESC> key echoes as "$" at your terminal,
and that you must type the <ESC> key twice to cause the
command to be executed.)
.INDENT -1
2 EY
.INDENT 5
The EY command...
.INDENT -1
2 EZ
.INDENT 5
The EZ command...
.INDENT -1
2 F_
.INDENT 5
The F_ command...
.INDENT -1
2 F'
.INDENT 5
The F' command...
.INDENT -1
2 F<
.INDENT 5
The F< command...
.INDENT -1
2 F>
.INDENT 5
The F> command...
.INDENT -1
2 F|
.INDENT 5
The F| command...
.INDENT -1
2 FB
.INDENT 5
The FB command...
.INDENT -1
2 FC
.INDENT 5
The FC command...
.INDENT -1
2 FD
.INDENT 5
The FD command...
.INDENT -1
2 FK
.INDENT 5
The FK command...
.INDENT -1
2 FN
.INDENT 5
The FN command...
.INDENT -1
2 FORM-FEED
.INDENT 5
The ^L (or FORM-FEED) command performs no function in TECO. It
echoes as a form feed and can be used to format command strings
used in macros.
.PARAGRAPH
Form feed are what split pages in files. When TECO reads in a page
from an input file, a form feed defines the end of the page. Form
feeds can be inserted into files like other characters. When inserted,
they reside in the edit buffer. When the file is output and TECO is
used to edit the file later, the inserted form feeds terminate pages.
.INDENT -1
2 FR
.INDENT 5
The FR command...
.INDENT -1
2 FS
.INDENT 5
The FS command is used to replace one string with
another string. If the specified text is found, it is
deleted and replaced with the new text, and the pointer
is positioned at the end of the specified text. If the
specified text is not found, the pointer is positioned
at the beginning of the buffer.
.SKIP
The "FS" command is of the form:
.SKIP
.LITERAL
FSold-text<ESC>new-text<ESC>
.END LITERAL
For example, to replace the next occurrence of "exumple"
with "example", use the command
.SKIP
.LITERAL
FSexumple$example$
.END LITERAL
(Note that the <ESC> key echoes as "$" at your terminal.)
.INDENT -1
2 Gq
.INDENT 5
The Gq command...
.INDENT -1
2 G*
.INDENT 5
The G* command...
.INDENT -1
2 G_
.INDENT 5
The G_ command...
.INDENT -1
2 H
.INDENT 5
The H command...
.INDENT -1
2 I
.INDENT 5
The I command is used to insert text, starting at the
current pointer. The command is of the form:
.SKIP
.LITERAL
Itext-to-insert<ESC>
.END LITERAL
For example, to insert the text "This is a test", type
.SKIP
.LITERAL
IThis is a test$
.END LITERAL
(Note that the <ESC> key is echoed as a "$" sign at
your terminal.)
.INDENT -1
2 J
.INDENT 5
The J command is used to move the text pointer within
the editing buffer. Common forms of the command are:
.SKIP
.LITERAL
BJ Point to the beginning of the buffer
ZJ Point to the end of the buffer
.END LITERAL
.INDENT -1
2 K
.INDENT 5
The K command is used to delete lines of text from the
editing buffer. Common forms of the command are:
.SKIP
.LITERAL
K Delete the text from the pointer through the
end of the current line
0K Delete the text from the beginning of the
current line to the pointer
5K Delete the next five lines of text, starting
from the pointer
HK delete all of the text in the editing buffer
.END LITERAL
.INDENT -1
2 L
.INDENT 5
The L command is used to move the text pointer from
one line to another. Common forms of the command are:
.SKIP
.LITERAL
L Move to the beginning of the next line
0L Move to the beginning of the current line
5l Move to the fifth line past the current line
-1L Move back to the previous line
.END LITERAL
.INDENT -1
2 LINE-FEED
.INDENT 5
The ^J (or LINE-FEED) command has two different functions.
.SKIP
.INDENT 5
When used as a normal command in a command string,
the LINE-FEED character has no effect. It is meant to be used
together with the RETURN and SPACE commands to provide the TECO
programmer with a way to indent and format TECO programs and macros.
.SKIP
.INDENT 5
When used as an immediate-mode command (the first character typed after
a TECO prompt) a LINE-FEED will cause TECO to immediately move to the
front of the next line and type the line (like a 1L1T). The LINE-FEED
immediate mode command together with the BACKSPACE immediate mode
command (which is like a -1L1T) provides a convenient way to step from
line to line within the edit buffer.
.INDENT -1
2 M
.INDENT 5
The M command...
.INDENT -1
2 N
.INDENT 5
The N command is the same as the "S" command, except that
the search continues across page boundaries, if necessary,
until the specified text, or the end of the file, is
encountered.
The "N" command is of the form:
.SKIP
.LITERAL
Ntext-to-locate<ESC>
.END LITERAL
For example, to find the text "find me", which may appear
on a later page in the file, use the command
.SKIP
.LITERAL
Nfind me$
.END LITERAL
(Note the the <ESC> key echoes as "$" at your terminal.)
.INDENT -1
2 O
.INDENT 5
The O command...
.INDENT -1
2 P
.INDENT 5
The P command is used to write the text in the editing
buffer to the output file and read the next page of text
from the input file to the editing buffer. Common forms
of the command are:
.SKIP
.LITERAL
P Write the current buffer to the output file
and get the next page
5P Write the current buffer, plus the next four
pages from the input file, to the output file,
then read the next page from the input file
into the editing buffer
.END LITERAL
.INDENT -1
2 Q
.INDENT 5
The Q command...
.INDENT -1
2 R
.INDENT 5
The R command...
.INDENT -1
2 RETURN
.INDENT 5
The ^M (or RETURN) command...
.INDENT -1
2 S
.INDENT 5
The S command is used to locate a specified string of
text in the current buffer. If the text is found, the
pointer is positioned after the specified text. If the
text is not found, an error message is printed and the
pointer is set to the beginning of the buffer.
The "S" command is of the form:
.SKIP
.LITERAL
Stext-to-locate<ESC>
.END LITERAL
For example, to find the text "find me", use the command
.SKIP
.LITERAL
Sfind me$
.END LITERAL
(Note that the <ESC> key echoes as "$" at your terminal.)
.INDENT -1
2 SPACE
.INDENT 5
The SPACE command...
.INDENT -1
2 T
.INDENT 5
The T command is used to type text from the editing
buffer. Common forms of the "T" command are:
.SKIP
.LITERAL
T Type text from the pointer to the end of the line
0T Type text from the beginning of the current
line to the pointer
5T Print the next five lines of text, starting
from the pointer
HT Print the entire contents of the editing buffer
.END LITERAL
.INDENT -1
2 TAB
.INDENT 5
The ^I (or TAB) command...
.INDENT -1
2 U
.INDENT 5
The U command...
.INDENT -1
2 V
.INDENT 5
The V command...
.INDENT -1
2 W
.INDENT 5
The W command...
.INDENT -1
2 Xq
.INDENT 5
The Xq command...
.INDENT -1
2 Y
.INDENT 5
The Y command...
.INDENT -1
2 Z
.INDENT 5
The Z command...
.INDENT -1
2 [
.INDENT 5
The [ command...
.INDENT -1
2 \
.INDENT 5
The \ command...
.INDENT -1
2 ]
.INDENT 5
The ] command...
.INDENT -1
2 |
.INDENT 5
The | command...
.INDENT -1
1 Conditionals
.INDENT 5
The " command provides TECO's conditional branching capability,
or "if-then-else" construct. The two general forms of the " command
are
.SKIP
.LITERAL
n"x<BODY>' like "if x(n) then <BODY>"
n"x<BODY1>|<BODY2>' like "if x(n) then <BODY1> else <BODY2>"
.END LITERAL
.SKIP
Where n is an expression and x is a conditional character. The
conditional characters determine how the value of the expression
is tested. Conditionals may be nested.
.PARAGRAPH
Additional help is available with TECO COMMANDS ".
.INDENT -1
1 Deletion
.INDENT 5
The following list summarizes TECO's deletion commands.
Additional help is available individually on these commands using
the help keyword COMMANDS.
.SKIP
.LITERAL
D delete the character following the character pointer
nD delete n characters following the character pointer
-nD delete n characters preceding the character pointer
m,nD delete characters between positions m and n
FDtext$ search for and delete a text string
FRtext$ equivalent to ^SDItext$
K delete the line following the character pointer
nK delete n lines following the character pointer
-nK delete n lines preceding the character pointer
m,nK delete characters between positions m and n
HK delete the entire edit buffer
FKtext$ delete all characters between here and text
.END LITERAL
.INDENT -1
1 Errors
.INDENT 5
All TECO error messages are of the form
.SKIP
?XXX Short text message
.SKIP
and abort TECO's command execution.
.SKIP
Typing a question mark (?) immediately after TECO's input prompt will
print the erring command string up to and including the error point.
.SKIP
Typing a slash (/) immediately after TECO's input prompt will print a
longer explanation of the error.
.INDENT -1
2 BNI
?BNI > not in iteration
.SKIP
There is a close angle bracket not matched by an
open angle bracket somewhere to its left. (Note:
an iteration in a macro stored in a Q-register must
be complete within the Q-register.)
.INDENT -1
2 CPQ
?CPQ Can't pop Q-reg
.SKIP
A ] command has been executed and there is nothing
saved on the Q-register push down list.
.INDENT -1
2 DTB
?DTB Delete too big
.SKIP
An nD command has been attempted which is not
contained within the current page.
.INDENT -1
2 ERR
?ERR ID, text
.SKIP
Some VAX/VMS system service call failed. The error
message ID and text explain the error.
.INDENT -1
2 FNF
?FNF File not found "filespec"
.SKIP
The requested input file could not be located. If
this occurred within a macro the colon modified ER
or EB command may be necessary.
.INDENT -1
2 IAA
?IAA Illegal A arg
.SKIP
The argument preceding a :A command is negative or 0.
.INDENT -1
2 IEC
?IEC Illegal E character
.SKIP
An invalid E command has been executed. The E
character must be followed by an alphabetic to form
a legal E command (e.g., ER or EX).
.INDENT -1
2 IFC
?IFC Illegal F character
.SKIP
An invalid F command has been executed.
.INDENT -1
2 IIA
?IIA Illegal insert arg
.SKIP
A command of the form "nItext$" was attempted.
This combination of character and text insertion is
illegal.
.INDENT -1
2 ILL
?ILL Illegal command
.SKIP
An attempt has been made to execute an invalid TECO
command.
.INDENT -1
2 ILN
?ILN Illegal number
.SKIP
An 8 or 9 has been entered when the radix of TECO
is set to octal.
.INDENT -1
2 IPA
?IPA Illegal P arg
.SKIP
The argument preceding a P or PW command is
negative or 0.
.INDENT -1
2 IQC
?IQC Illegal " character
.SKIP
One of the valid " commands did not follow the ".
.INDENT -1
2 IQN
?IQN Illegal Q-reg name
.SKIP
An illegal Q-register name was specified in one of
the Q-register commands.
.INDENT -1
2 IRA
?IRA Illegal radix arg
.SKIP
The argument to a ^R radix command must be 8, 10, or 16.
.INDENT -1
2 ISA
?ISA Illegal search arg
.SKIP
The argument preceding a search command is 0. This
argument must not be 0.
.INDENT -1
2 ISS
?ISS Illegal search string
.SKIP
One of the search string special characters (^Q,
^R, etc.) would have modified the search string
delimiter (usually ESCAPE).
.INDENT -1
2 IUC
?IUC Illegal ^ character
.SKIP
The character following an ^ must have ASCII value
between 100 and 137 inclusive or between 141 and 172
inclusive.
.INDENT -1
?MAP Missing '
.SKIP
Every conditional (opened with the " command) must
be closed with the ' command.
.INDENT -1
2 MEM
?MEM Memory overflow
.SKIP
Insufficient memory available to complete the
current command. Make sure the Q-register area
does not contain much unnecessary text. Breaking
up the text area into multiple pages might be
useful.
.INDENT -1
2 NAB
?NAB No arg before ^_
.SKIP
The ^_ command must be preceded by either a
specific numeric argument or a command that returns
a numeric value.
.INDENT -1
2 NAC
?NAC No arg before ,
.SKIP
A command has been executed in which a , is not
preceded by a numeric argument.
.INDENT -1
2 NAE
?NAE No arg before =
.SKIP
The =, ==, or === command must be preceded by
either a specific numeric argument or a command
that returns a numeric value.
.INDENT -1
2 NAP
?NAP No arg before )
.SKIP
A ) parenthesis has been encountered and is not
properly preceded by a specific numeric argument or
a command that returns a numeric value.
.INDENT -1
2 NAQ
?NAQ No arg before "
.SKIP
The " commands must be preceded by a single numeric
argument on which the decision to execute the
following commands or skip to the matching ' is
based.
.INDENT -1
2 NAS
?NAS No arg before ;
.SKIP
The ; command must be preceded by a single numeric
argument on which the decision to execute the
following commands or skip to the matching > is
based.
.INDENT -1
2 NAU
?NAU No arg before U
.SKIP
The U command must be preceded by either a specific
numeric argument or a command that returns a
numeric value.
.INDENT -1
2 NFI
?NFI No file for input
.SKIP
Before issuing an input command, such as Y, it is
necessary to open an input file by use of a command
such as ER or EB.
.INDENT -1
2 NFO
?NFO No file for output
.SKIP
Before issuing an output command such as N search
or P it is necessary to open an output file by use
of a command such as EW or EB.
.INDENT -1
2 NYA
?NYA Numeric arg with Y
.SKIP
The Y command must not be preceded by either a
numeric argument or a command that returns a
numeric value.
.INDENT -1
2 OFO
?OFO Output file already open "filespec"
.SKIP
A command has been executed which tried to create
an output file, but an output file currently is
open. It is typically appropriate to use the EC or
EK command as the situation calls for to close the
output file.
.INDENT -1
2 PDO
?PDO Push-down list overflow
.SKIP
The command string has become too complex.
Simplify it.
.INDENT -1
2 POP
?POP Pointer off page
.SKIP
A J, C or R command has been executed which
attempted to move the pointer off the page. The
result of executing one of these commands must
leave the pointer between 0 and Z, inclusive. The
characters referenced by a D or m,nX command must
also be within the buffer boundary.
.INDENT -1
2 SNI
?SNI ; not in iteration
.SKIP
A ; command has been executed outside of an open
iteration bracket. This command may only be
executed within iteration brackets.
.INDENT -1
2 SRH
?SRH Search failure "text"
.SKIP
A search command not preceded by a colon modifier
and not within an iteration has failed to find the
specified "text". After an S search fails the
pointer is left at the beginning of the buffer.
After an N or _ search fails the last page of the
input file has been input and, in the case of N,
output, and the buffer is cleared. In the case of
an N search it is usually necessary to close the
output file and reopen it for continued editing.
.INDENT -1
2 STL
?STL String too long
.SKIP
A search or file name string is too long. This is
most likely the result of a missing ESCAPE after
the string.
.INDENT -1
2 UTC
?UTC Unterminated command
.SKIP
This is a general error which is usually caused by
an unterminated insert, search, or filespec
argument, an unterminated ^A message, an
unterminated tag or comment (i.e., unterminated !
construct), or a missing ' character which closes a
conditional execution command.
.INDENT -1
2 UTM
?UTM Unterminated macro
.SKIP
This error is the same as the ?UTC error except
that the unterminated command was executing from a
Q-register (i.e., it was a macro). (Note: An
entire command sequence stored in a Q-register must
be complete within the Q-register.)
.INDENT -1
2 XAB
?XAB Execution aborted
.SKIP
Execution of TECO was aborted. This is usually due
to the typing of CTRL/C.
.INDENT -1
2 YCA
?YCA Y command aborted
.SKIP
An attempt has been made to execute an Y or _
search command with an output file open, that would
cause text in the text buffer to be erased without
outputting it to the output file. The ED command
controls this check.
xxx
.INDENT -1
2 IFE
?IFE ill-formed numeric expression
.SKIP
The numeric expression preceding a command doesn't make
sense. For example, 5+ isn't a complete expression.
.INDENT -1
2 SYS
?SYS %s
.SKIP
No detailed help available.
.INDENT -1
2 UCD
?UCD unable to close and delete output file
.SKIP
No detailed help available.
.INDENT -1
2 UCI
?UCI unable to close input file
.SKIP
No detailed help available.
.INDENT -1
2 UCO
?UCO unable to close output file
.SKIP
No detailed help available.
.INDENT -1
2 UFI
?UFI unable to open file "x" for input
.SKIP
No detailed help available.
.INDENT -1
2 UFO
?UFO unable to open file "x" for output
.SKIP
No detailed help available.
.INDENT -1
2 URC
?URC unable to read character from terminal
.SKIP
No detailed help available.
.INDENT -1
2 URE
?URE unable to read TECO command file
.SKIP
No detailed help available.
.INDENT -1
2 URL
?URL unable to read line from input file
.SKIP
No detailed help available.
.INDENT -1
2 UWL
?UWL unable to write line to output file
.SKIP
No detailed help available.
.INDENT -1
1 Files
.INDENT 5
TECO can maintain two input and two output files at the
same time. The following commands control files.
.SKIP
.LITERAL
EA secondary output stream EL open log file
EB open input and output EN wildcard lookup
EC copy and close EP secondary input stream
EF close output file ER open input file
EG EC with command string EW open output file
EI indirect command file EX EC and exit
EK close, delete output file
.END LITERAL
.SKIP
The following commands input and output to/from files.
.SKIP
.LITERAL
A append page from input file to edit buffer
EQq read file into Q-register
EY yank without protection
P output edit buffer, input next page
Y yank page from input file into edit buffer
.END LITERAL
.SKIP
Individual help is available for each of these commands.
.INDENT -1
1 Flags
.INDENT 5
Flags control the behavior of TECO.
Changing these flags changes the way TECO executes.
Flags are manipulated as follows:
.SKIP
.LITERAL
<flag> returns the value of the flag
n<flag> set the value of the flag to n
m,n<flag> turns off m bits, turns on n bits
0,n<flag> turns on n bits
m,0<flag> turns off m bits
.END LITERAL
.SKIP
The flags are:
.SKIP
.LITERAL
ED edit level flag ET type-out flag
EH help level flag EU case flag
EO TECO version number EV edit verify flag
ES search verify flag ^x search verify flag
.END LITERAL
.SKIP
Additional help is available for each individual flag using
the COMMANDS help keyword.
.INDENT -1
1 Help
.INDENT 5
TECOC's HELP command allows you to get HELP from the TECOC help library
or the default system library.
To get help about TECOC from the TECOC library, just say "HELP".
To get help from the default system library, say "HELP/S"
.INDENT -1
1 Initialization
.INDENT 5
TECO initialization...
.INDENT -1
1 Insertion
.INDENT 5
TECO insertion...
.INDENT -1
1 Loops
.INDENT 5
Loops...
.if MACROS
.!++
.! The help section on TECO macros has been commented out since:
.! 1) It isn't complete yet.
.! 2) The macros don't ship anymore.
.INDENT -1
1 Macros
.INDENT -1
2 LOCAL
.INDENT -1
2 TYPE
.INDENT -1
2 SQU
.INDENT -1
2 SEARCH
.INDENT 5
SEARCH.TEC is a TECO macro used to search files for one or more
character strings, and optionally replace them. It is invoked by:
.SKIP
.LITERAL
MUNG SYS$LIBRARY:SEARCH
.END LITERAL
When run, it asks the following questions:
.SKIP
.LITERAL
Output <TT:.SRH>: Output log file
Input <*.MAR>: Input file spec(s)
Lines <3>: Number of lines to verify
(Absolute) Search: String(s) to search for
Replace: Replace for found string (if /CHA specified)
Detach <No>: Run detached?
.END LITERAL
Defaults are shown in angle brackets ("<>"). The "Input" and "Search"
questions are repeated until they are answered with a blank line.
.INDENT -1
3 Input qualifiers
.INDENT -1
/ALL
List all file names in main part of log whether they were match or
no-match.
.INDENT -1
3 Output qualifiers
.INDENT -1
/ABS
Exact case matches are required and TECO special search match
characters must be entered as control characters (i.e., not with an
uparrow).
.INDENT -1
/CHA
Change found string. This causes "Replace:" to be requested after
every search string. The changed version is logged in the log file,
and the input file is updated.
.INDENT -1
/DIR
Compile a directory of the files now and use it to search.
.INDENT -1
/ESC
ESCape is the only delimiter for Search and Replace strings. Normally
a carriage return is used as the delimiter. Thus multi-line search or
replacement strings must be entered using the /ESC option.
.INDENT -1
/MAT
Report only files with matches (No end list of no-match files).
.INDENT -1
3 Log file
.INDENT 5
For each file which contains at least one match, a banner is printed
out, and each instance, along with the 3 (or the number requested by
the user) lines before and after it. A header line identifying the
page number is printed with each instance. Once all of the files
containing matches are logged, a list of files which do not contain
matches is printed (unless the user specifies "/MAT" or "/ALL").
.INDENT -1
3 File specs
.INDENT 5
SEARCH allows a list of file specifications terminated by a blank line
to be requested. Any or all of these may include wildcards.
.INDENT -1
3 Search strings
.INDENT 5
The search strings are entered as a list ending with a blank line and
are terminated with a carriage return unless "/ESC" is specified. Any
of the TECO string matching constructs may be used. Unless "/ABS" is
used, this includes "^" constructs for control characters, thus "^G"
would search for a CTRL/G (bell) character.
.endif MACROS
.INDENT -1
1 Memory
.INDENT 5
TECO automatically remembers the file being edited. The file's
name is stored in a process logical called TEC$MEMORY. If you
invoke TECO without specifying a file-spec, TECO will read its
memory logical and re-edit the last edited file. TECO's memory
feature is completely inhibited by the /NOMEMORY qualifier.
.INDENT -1
.INDENT -1
1 Qualifiers
.INDENT 5
Qualifiers...
.INDENT -1
2 -c
.INDENT -1
2 -d
.INDENT -1
2 -m
.INDENT -1
2 -p
.INDENT -1
2 -r
.INDENT -1
1 Q-registers
.INDENT 5
Q-register...
.INDENT -1
1 Release_notes
.INDENT 5
Release_notes...
.INDENT -1
1 Searching
.INDENT 5
TECO provides several ways to search for text strings. The edit buffer
can be searched in a forward or backward direction. Files can be searched
in a forward direction. Within the edit buffer, the area to be searched
can be bounded. Search commands can return values so that the success or
failure of a search can control execution of macros. Special match
control characters can be used in search arguments to allow pattern
matching. Search commands can be modified by the @ character.
.SKIP
.INDENT 5
All search commands leave the character pointer positioned after the last
character in the search string. Help is available individually for the
following commands:
.SKIP
.LITERAL
S edit buffer search FS search and replace
N file search FN file search and replace
_ destructive file search FD search and delete
.END LITERAL
.INDENT -1
2 Match_control_characters
.INDENT 5
TECO supports special match control constructs in search strings.
These constructs allow for special pattern matching.
The constructs are
.SKIP
.LITERAL
^EA alphabetics ^EV lowercase
^EB non-alphanumerics ^EW uppercase
^EC alphanumerics, . or $ ^EX anything
^ED digits ^E<nnn> octal nnn
^EGq anything in q-register q ^E[a,b..] a,b...
^EL LF, VT, FF ^Nx anything but x
^EMx * of x ^S non-alphanumerics
^ER alphanumerics ^X anything
^ES * of spaces, tabs
.END LITERAL
.INDENT -1
3 ^EA
.INDENT 5
The ^EA match control construct indicates that any alphabetic
character is acceptable in this position. Alphabetic characters are
upper and lower case characters from a to z.
.INDENT -1
3 ^EB
.INDENT 5
The ^EB match control construct indicates that any separator
character is acceptable in this position. Characters other than letters
(a-z upper and lowercase) and digits are separators.
The ^EB match control construct is the same as the ^S match control
construct.
.INDENT -1
3 ^EC
.INDENT 5
The ^EC match control construct indicates that any character
that is valid in a symbol name is acceptable in this position. The
characters that are valid in symbol names are alphanumerics (letters
and digits), period and dollar sign.
.INDENT -1
3 ^ED
.INDENT 5
The ^ED match control construct indicates that any digit character
is acceptable in this position. Digits are 0 through 9.
.INDENT -1
3 ^EGq
.INDENT 5
The ^EGq match control construct indicates that any character in
q-register q is acceptable in this position. For instance, if q-register
q contains A, B and C, then A, B or C is acceptable in this position.
.INDENT -1
3 ^EL
.INDENT 5
The ^EL match control construct indicates that any line terminator
character is acceptable in this position. Line terminator characters are
LINE-FEED, VERTICAL-TAB and FORM-FEED.
.INDENT -1
3 ^EMx
.INDENT 5
The ^EMx match control construct indicates that any non-zero
number of occurrences of x is acceptable in this position. x can
be another match control construct.
For instance, ^EMZ will match Z, ZZ, ZZZ, ZZZZ, etc.
.INDENT -1
3 ^ER
.INDENT 5
The ^ER match control construct indicates that any alphanumeric
character is acceptable in this position. Alphanumeric characters
are letter (a-z upper or lower case) and digits (0-9).
.INDENT -1
3 ^ES
.INDENT 5
The ^ES match control construct indicates that a non-null string
of spaces and/or tabs is acceptable in this position.
For instance, the following command string
.SKIP
.LITERAL
j<fs^ES
$
$>$$
.END LITERAL
.SKIP
will trim all spaces and tabs off the end of lines of text in the
edit buffer.
.INDENT -1
3 ^EV
.INDENT 5
The ^EV match control construct indicates that any lower case
alphabetic character (a-z) is acceptable in this position.
.INDENT -1
3 ^EW
.INDENT 5
The ^EV match control construct indicates that any upper case
alphabetic character (A-Z) is acceptable in this position.
.INDENT -1
3 ^EX
.INDENT 5
The ^EX match control construct indicates that any character
is acceptable in this position.
The ^X match control construct is the same as the ^EX match
control construct.
.INDENT -1
3 ^E<nnn>
.INDENT 5
The ^E<nnn> match control construct indicates that the
character that has octal code nnn is acceptable in this position.
This construct is useful for specifying characters in search strings
that would cause unpleasant effects if they were entered directly.
Characters like NULL, DELETE and ESCAPE fall into this category.
.INDENT -1
3 ^E[a,b,c...]
.INDENT 5
The ^E[a,b,c...] match control construct indicates that any
of the characters a, b, c... are acceptable in this position.
For instance, the command string
.SKIP
.LITERAL
sth^E[i,a]^E[s,t]$$
.END LITERAL
.SKIP
would match "this" or "that" or "thit" or "thas".
.INDENT -1
3 ^Nx
.INDENT 5
The ^Nx match control construct indicates that any character
except x is acceptable in this position. x can be a match control
construct.
For instance, the command string
.SKIP
.LITERAL
s^N^E[a,b]$$
.END LITERAL
.SKIP
would match any character except lowercase a and lowercase b.
.INDENT -1
3 ^S
.INDENT 5
The ^S match control construct indicates that any separator
character is acceptable in this position. Characters other than letters
(a-z upper and lowercase) and digits are separators.
The ^S match control construct is the same as the ^EB match control
construct.
.INDENT -1
3 ^X
.INDENT 5
The ^X match control construct indicates that any character
is acceptable in this position.
The ^X match control construct is the same as the ^EX match
control construct.
.INDENT -1
2 String_building_characters
.INDENT 5
It is sometimes helpful to be able to include characters within
search arguments that cannot be entered directly. The ESCAPE character
is a good example, as are ^C, ^Y and DELETE. TECO supports special
string building constructs that allow special characters to be entered
in search commands.
.INDENT -1
3 ^Q
.INDENT 5
The ^Q string build construct indicates that the character following
the ^Q is to be used literally rather than as a match control character.
The ^Q string build construct is the same as the ^R string build
construct.
.INDENT -1
3 ^R
.INDENT 5
The ^R string build construct indicates that the character following
the ^Q is to be used literally rather than as a match control character.
The ^R string build construct is the same as the ^Q string build
construct.
.INDENT -1
3 ^V
.INDENT 5
The ^V string build construct indicates that the character following
the ^V is to be used as the equivalent character in lower case. For
instance, ^VR would equal r in a search argument.
.INDENT -1
3 ^V^V
.INDENT 5
The ^V^V string build construct indicates that all characters
following the ^V^V in the string are to be converted to lower case.
All characters in the string are converted up to the end of the string
or a ^W^W string build construct. The ^W string build construct can be
used to override the ^V^V on a single-character basis.
.INDENT -1
3 ^W
.INDENT 5
The ^W string build construct indicates that the character following
the ^W is to be used as the equivalent character in upper case. For
instance, ^Wr would equal R in a search argument.
.INDENT -1
3 ^W^W
.INDENT 5
The ^W^W string build construct indicates that all characters
following the ^W^W in the string are to be converted to upper case.
All characters in the string are converted up to the end of the string
or a ^V^V string build construct. The ^V string build construct can be
used to override the ^W^W on a single-character basis.
.INDENT -1
3 ^EQq
.INDENT 5
The ^EQq string build construct that the string contained in
q-register q is to be used in this position in the search string.
.INDENT -1
3 ^EUq
.INDENT 5
The ^EUq string build construct indicates that that character
whose ASCII code is contained in q-register q is to be used in
this position in the search string.
.INDENT -1
1 TECO
.INDENT 5
TECO is a text editing program and a programming language.
It allows the user to edit text interactively using simple, short
(one or two letter) commands.
The commands can be combined to form TECO programs, or macros.
These macros can be stored in files and executed by the user while in TECO
or in a stand-alone fashion.
.SKIP
Format: teco -c -d data -m -p -r filespec
.SKIP
The teco command needs to be defined as a foreign command in your LOGIN.COM
file.
The following lines illustrate how this can be done:
.SKIP
.LITERAL
te*co :== $SYS$SYSTEM:TECOC
ma*ke :== $SYS$SYSTEM:TECOC -c
mu*ng :== $SYS$SYSTEM:TECOC -p
.END LITERAL